package com.kingyun.gpsinspection.purificationservice.facade.service.jsm.operatingunitform;

import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.*;

import java.math.BigDecimal;
import java.util.Map;

/**
 * Created by zmling on 2016/12/19.
 * 表单信息
 */
public interface JsmOperatingUnitFormService {

    /**
     * 一站一案 和 操作单元
     * 表单新增操作
     * 新增表单配置数据
     *
     * @param map 组合数据格式
     */
    int addOperatingUnitForm(Map map, Employee employee) throws Exception;

    /**
     * 查询表单配置数据
     *
     * @param version
     */
    OperatingUnitForm findoperatingUnitForm(String relateId, BigDecimal version, String isStatus) throws Exception;

    /**
     * 删除表单配置数据
     *
     * @param workInstanceId
     * @return
     * @throws Exception
     */
    int deleteOperatingUnitForm(String workInstanceId) throws Exception;

    /**
     * @param version    保存版本的基本信息
     * @param isWorkCell 是否是一站一案 {true:操作单元 false 一站一案}
     * @return oldVersion 当前在用版本
     */
    int cloneOperateForm(Version version, boolean isWorkCell, BigDecimal oldVersion, EmployeeVo employee) throws Exception;

    /**
     * 新增一站一案 从操作单元 复制到一站一案 并去掉版本
     *
     * @param fromWorkCellInfo
     * @param toWorkCellInstance
     */
    Map<String, Object> cloneOperateForm(WorkCellInfo fromWorkCellInfo, WorkCellInstance toWorkCellInstance, EmployeeVo employee);


    /**
     * 删除数据分类
     * @param formFatherId
     * @return
     */
    Integer deleteFormfather(String formFatherId);


    /**
     * 删除数据项
     * @param formItemId
     * @return
     */
    Integer deleteFormItem(String formItemId);

}
